package com.css.dzj.dzjwgr.modules.appeal.service;

import com.css.dzj.dzjwgr.modules.appeal.entity.JgWgrTsjbglEntity;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.Pageable;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface appealService {
    /**
     * 通过j举报投诉唯一ID
     * 查询详细信息
     */
    JgWgrTsjbglEntity queryOne(String id);
    /**
     * 反馈
     */
    String fk(String id,String mainUrl);
    /**
     * 添加
     */
    String addReply(JgWgrTsjbglEntity jgWgrTsjbglEntity);
    /**
     * 条件查询
     */
    QueryResults<JgWgrTsjbglEntity> getPage(Pageable pageable, String name, String appealStatus, String records, String startTime, String endTime);

    /**
     * 根据ids查询实体
     *
     * @param ids
     * @return
     * @author Leon
     */
    List<JgWgrTsjbglEntity> queryByIds(String ids);
    /**
     * 根据参数导出数据到Excel
     */
    List<JgWgrTsjbglEntity> queryByParams(String records,String name, String startTime, String endTime,String appealStatus);

    /**
     * 导出excel
     *
     * @param response
     * @param jgWgrTsjbglEntities
     * @author Leon
     */
    void exportAppealToExcel(HttpServletResponse response, List<JgWgrTsjbglEntity> jgWgrTsjbglEntities);
    QueryResults<JgWgrTsjbglEntity> getPageByName(Pageable pageable, HttpServletRequest request, String name, String appealStatus, String records, String startTime, String endTime,String loginName);
    /**
     * 修改
     */
    void update(JgWgrTsjbglEntity jgWgrTsjbglEntity);
    /**
     * 添加
     */
    String zcReply(JgWgrTsjbglEntity jgWgrTsjbglEntity);
    /**
     * 查询公开公告个数
     */
    String getAppealCount();
}
